package com.zh.blog.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zh.blog.dto.ResourceRoleDto;
import com.zh.blog.dto.RoleDto;
import com.zh.blog.model.Role;
import com.zh.blog.vo.ConditionVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 角色
 * @author ZhengHao
 * Created At 2022/7/29.
 **/
@Repository
public interface RoleDao extends BaseMapper<Role> {
    /**
     * 查询路由角色列表
     * @return 角色标签
     */
    List<ResourceRoleDto> listResourceRoles();

    /**
     * 工具用户id获取角色列表
     * @param userInfoId userInfoId 用户id
     * @return 角色标签
     */
    List<String> listRolesByUserInfoId(Integer userInfoId);

    /**
     * 查询角色列表
     * @param current 页码
     * @param size 条数
     * @param conditionVO 条件
     * @return 角色列表
     */
    List<RoleDto> listRoles(@Param("current") Long current,
                            @Param("size") Long size,
                            @Param("condition") ConditionVO conditionVO);
}